using Google.ProtocolBuffers;
using micromsg.Proto;
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.IO;
using System.Runtime.CompilerServices;
namespace micromsg
{
	[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
	public sealed class RegRequest : GeneratedMessageLite<RegRequest, RegRequest.Builder>
	{
		[GeneratedCode("ProtoGen", "2.3.0.277"), DebuggerNonUserCode, CompilerGenerated]
		public sealed class Builder : GeneratedBuilderLite<RegRequest, RegRequest.Builder>
		{
			private bool resultIsReadOnly;
			private RegRequest result;
			protected override RegRequest.Builder ThisBuilder
			{
				get
				{
					return this;
				}
			}
			public override bool IsInitialized
			{
				get
				{
					return this.result.IsInitialized;
				}
			}
			protected override RegRequest MessageBeingBuilt
			{
				get
				{
					return this.PrepareBuilder();
				}
			}
			public override RegRequest DefaultInstanceForType
			{
				get
				{
					return RegRequest.DefaultInstance;
				}
			}
			public BaseRequest BaseRequest
			{
				get
				{
					return this.result.BaseRequest;
				}
				set
				{
					this.SetBaseRequest(value);
				}
			}
			public SKBuiltinString_t UserName
			{
				get
				{
					return this.result.UserName;
				}
				set
				{
					this.SetUserName(value);
				}
			}
			public SKBuiltinString_t Pwd
			{
				get
				{
					return this.result.Pwd;
				}
				set
				{
					this.SetPwd(value);
				}
			}
			public SKBuiltinString_t NickName
			{
				get
				{
					return this.result.NickName;
				}
				set
				{
					this.SetNickName(value);
				}
			}
			public uint BindUin
			{
				get
				{
					return this.result.BindUin;
				}
				set
				{
					this.SetBindUin(value);
				}
			}
			public SKBuiltinString_t BindEmail
			{
				get
				{
					return this.result.BindEmail;
				}
				set
				{
					this.SetBindEmail(value);
				}
			}
			public SKBuiltinString_t BindMobile
			{
				get
				{
					return this.result.BindMobile;
				}
				set
				{
					this.SetBindMobile(value);
				}
			}
			public SKBuiltinString_t ImgSid
			{
				get
				{
					return this.result.ImgSid;
				}
				set
				{
					this.SetImgSid(value);
				}
			}
			public SKBuiltinString_t ImgCode
			{
				get
				{
					return this.result.ImgCode;
				}
				set
				{
					this.SetImgCode(value);
				}
			}
			public SKBuiltinString_t Ticket
			{
				get
				{
					return this.result.Ticket;
				}
				set
				{
					this.SetTicket(value);
				}
			}
			public string Pwd2
			{
				get
				{
					return this.result.Pwd2;
				}
				set
				{
					this.SetPwd2(value);
				}
			}
			public uint BuiltinIPSeq
			{
				get
				{
					return this.result.BuiltinIPSeq;
				}
				set
				{
					this.SetBuiltinIPSeq(value);
				}
			}
			public uint DLSrc
			{
				get
				{
					return this.result.DLSrc;
				}
				set
				{
					this.SetDLSrc(value);
				}
			}
			public string TimeZone
			{
				get
				{
					return this.result.TimeZone;
				}
				set
				{
					this.SetTimeZone(value);
				}
			}
			public string Language
			{
				get
				{
					return this.result.Language;
				}
				set
				{
					this.SetLanguage(value);
				}
			}
			public Builder()
			{
				this.result = RegRequest.DefaultInstance;
				this.resultIsReadOnly = true;
			}
			internal Builder(RegRequest cloneFrom)
			{
				this.result = cloneFrom;
				this.resultIsReadOnly = true;
			}
			private RegRequest PrepareBuilder()
			{
				if (this.resultIsReadOnly)
				{
					RegRequest other = this.result;
					this.result = new RegRequest();
					this.resultIsReadOnly = false;
					this.MergeFrom(other);
				}
				return this.result;
			}
			public override RegRequest.Builder Clear()
			{
				this.result = RegRequest.DefaultInstance;
				this.resultIsReadOnly = true;
				return this;
			}
			public override RegRequest.Builder Clone()
			{
				if (this.resultIsReadOnly)
				{
					return new RegRequest.Builder(this.result);
				}
				return new RegRequest.Builder().MergeFrom(this.result);
			}
			public override RegRequest BuildPartial()
			{
				if (this.resultIsReadOnly)
				{
					return this.result;
				}
				this.resultIsReadOnly = true;
				return this.result.MakeReadOnly();
			}
			public override RegRequest.Builder MergeFrom(IMessageLite other)
			{
				if (other is RegRequest)
				{
					return this.MergeFrom((RegRequest)other);
				}
				base.MergeFrom(other);
				return this;
			}
			public override RegRequest.Builder MergeFrom(RegRequest other)
			{
				return this;
			}
			public override RegRequest.Builder MergeFrom(ICodedInputStream input)
			{
				return this.MergeFrom(input, ExtensionRegistry.Empty);
			}
			public override RegRequest.Builder MergeFrom(ICodedInputStream input, ExtensionRegistry extensionRegistry)
			{
				this.PrepareBuilder();
				uint num;
				string text;
				while (input.ReadTag(out num, out text))
				{
					if (num == 0u && text != null)
					{
						int num2 = Array.BinarySearch<string>(RegRequest._regRequestFieldNames, text, StringComparer.get_Ordinal());
						if (num2 < 0)
						{
							this.ParseUnknownField(input, extensionRegistry, num, text);
							continue;
						}
						num = RegRequest._regRequestFieldTags[num2];
					}
					uint num3 = num;
					if (num3 <= 58u)
					{
						if (num3 <= 26u)
						{
							if (num3 <= 10u)
							{
								if (num3 == 0u)
								{
									throw InvalidProtocolBufferException.InvalidTag();
								}
								if (num3 == 10u)
								{
									BaseRequest.Builder builder = BaseRequest.CreateBuilder();
									if (this.result.hasBaseRequest)
									{
										builder.MergeFrom(this.BaseRequest);
									}
									input.ReadMessage(builder, extensionRegistry);
									this.BaseRequest = builder.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 18u)
								{
									SKBuiltinString_t.Builder builder2 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasUserName)
									{
										builder2.MergeFrom(this.UserName);
									}
									input.ReadMessage(builder2, extensionRegistry);
									this.UserName = builder2.BuildPartial();
									continue;
								}
								if (num3 == 26u)
								{
									SKBuiltinString_t.Builder builder3 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasPwd)
									{
										builder3.MergeFrom(this.Pwd);
									}
									input.ReadMessage(builder3, extensionRegistry);
									this.Pwd = builder3.BuildPartial();
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 40u)
							{
								if (num3 == 34u)
								{
									SKBuiltinString_t.Builder builder4 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasNickName)
									{
										builder4.MergeFrom(this.NickName);
									}
									input.ReadMessage(builder4, extensionRegistry);
									this.NickName = builder4.BuildPartial();
									continue;
								}
								if (num3 == 40u)
								{
									this.result.hasBindUin = input.ReadUInt32(ref this.result.bindUin_);
									continue;
								}
							}
							else
							{
								if (num3 == 50u)
								{
									SKBuiltinString_t.Builder builder5 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasBindEmail)
									{
										builder5.MergeFrom(this.BindEmail);
									}
									input.ReadMessage(builder5, extensionRegistry);
									this.BindEmail = builder5.BuildPartial();
									continue;
								}
								if (num3 == 58u)
								{
									SKBuiltinString_t.Builder builder6 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasBindMobile)
									{
										builder6.MergeFrom(this.BindMobile);
									}
									input.ReadMessage(builder6, extensionRegistry);
									this.BindMobile = builder6.BuildPartial();
									continue;
								}
							}
						}
					}
					else
					{
						if (num3 <= 90u)
						{
							if (num3 <= 74u)
							{
								if (num3 == 66u)
								{
									SKBuiltinString_t.Builder builder7 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasImgSid)
									{
										builder7.MergeFrom(this.ImgSid);
									}
									input.ReadMessage(builder7, extensionRegistry);
									this.ImgSid = builder7.BuildPartial();
									continue;
								}
								if (num3 == 74u)
								{
									SKBuiltinString_t.Builder builder8 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasImgCode)
									{
										builder8.MergeFrom(this.ImgCode);
									}
									input.ReadMessage(builder8, extensionRegistry);
									this.ImgCode = builder8.BuildPartial();
									continue;
								}
							}
							else
							{
								if (num3 == 82u)
								{
									SKBuiltinString_t.Builder builder9 = SKBuiltinString_t.CreateBuilder();
									if (this.result.hasTicket)
									{
										builder9.MergeFrom(this.Ticket);
									}
									input.ReadMessage(builder9, extensionRegistry);
									this.Ticket = builder9.BuildPartial();
									continue;
								}
								if (num3 == 90u)
								{
									this.result.hasPwd2 = input.ReadString(ref this.result.pwd2_);
									continue;
								}
							}
						}
						else
						{
							if (num3 <= 104u)
							{
								if (num3 == 96u)
								{
									this.result.hasBuiltinIPSeq = input.ReadUInt32(ref this.result.builtinIPSeq_);
									continue;
								}
								if (num3 == 104u)
								{
									this.result.hasDLSrc = input.ReadUInt32(ref this.result.dLSrc_);
									continue;
								}
							}
							else
							{
								if (num3 == 114u)
								{
									this.result.hasTimeZone = input.ReadString(ref this.result.timeZone_);
									continue;
								}
								if (num3 == 122u)
								{
									this.result.hasLanguage = input.ReadString(ref this.result.language_);
									continue;
								}
							}
						}
					}
					if (WireFormat.IsEndGroupTag(num))
					{
						return this;
					}
					this.ParseUnknownField(input, extensionRegistry, num, text);
				}
				return this;
			}
			public RegRequest.Builder SetBaseRequest(BaseRequest value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBaseRequest = true;
				this.result.baseRequest_ = value;
				return this;
			}
			public RegRequest.Builder SetBaseRequest(BaseRequest.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBaseRequest = true;
				this.result.baseRequest_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeBaseRequest(BaseRequest value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBaseRequest && this.result.baseRequest_ != BaseRequest.DefaultInstance)
				{
					this.result.baseRequest_ = BaseRequest.CreateBuilder(this.result.baseRequest_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.baseRequest_ = value;
				}
				this.result.hasBaseRequest = true;
				return this;
			}
			public RegRequest.Builder ClearBaseRequest()
			{
				this.PrepareBuilder();
				this.result.hasBaseRequest = false;
				this.result.baseRequest_ = null;
				return this;
			}
			public RegRequest.Builder SetUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasUserName = true;
				this.result.userName_ = value;
				return this;
			}
			public RegRequest.Builder SetUserName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasUserName = true;
				this.result.userName_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeUserName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasUserName && this.result.userName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.userName_ = SKBuiltinString_t.CreateBuilder(this.result.userName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.userName_ = value;
				}
				this.result.hasUserName = true;
				return this;
			}
			public RegRequest.Builder ClearUserName()
			{
				this.PrepareBuilder();
				this.result.hasUserName = false;
				this.result.userName_ = null;
				return this;
			}
			public RegRequest.Builder SetPwd(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPwd = true;
				this.result.pwd_ = value;
				return this;
			}
			public RegRequest.Builder SetPwd(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasPwd = true;
				this.result.pwd_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergePwd(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasPwd && this.result.pwd_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.pwd_ = SKBuiltinString_t.CreateBuilder(this.result.pwd_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.pwd_ = value;
				}
				this.result.hasPwd = true;
				return this;
			}
			public RegRequest.Builder ClearPwd()
			{
				this.PrepareBuilder();
				this.result.hasPwd = false;
				this.result.pwd_ = null;
				return this;
			}
			public RegRequest.Builder SetNickName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasNickName = true;
				this.result.nickName_ = value;
				return this;
			}
			public RegRequest.Builder SetNickName(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasNickName = true;
				this.result.nickName_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeNickName(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasNickName && this.result.nickName_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.nickName_ = SKBuiltinString_t.CreateBuilder(this.result.nickName_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.nickName_ = value;
				}
				this.result.hasNickName = true;
				return this;
			}
			public RegRequest.Builder ClearNickName()
			{
				this.PrepareBuilder();
				this.result.hasNickName = false;
				this.result.nickName_ = null;
				return this;
			}
			public RegRequest.Builder SetBindUin(uint value)
			{
				this.PrepareBuilder();
				this.result.hasBindUin = true;
				this.result.bindUin_ = value;
				return this;
			}
			public RegRequest.Builder ClearBindUin()
			{
				this.PrepareBuilder();
				this.result.hasBindUin = false;
				this.result.bindUin_ = 0u;
				return this;
			}
			public RegRequest.Builder SetBindEmail(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBindEmail = true;
				this.result.bindEmail_ = value;
				return this;
			}
			public RegRequest.Builder SetBindEmail(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBindEmail = true;
				this.result.bindEmail_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeBindEmail(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBindEmail && this.result.bindEmail_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.bindEmail_ = SKBuiltinString_t.CreateBuilder(this.result.bindEmail_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.bindEmail_ = value;
				}
				this.result.hasBindEmail = true;
				return this;
			}
			public RegRequest.Builder ClearBindEmail()
			{
				this.PrepareBuilder();
				this.result.hasBindEmail = false;
				this.result.bindEmail_ = null;
				return this;
			}
			public RegRequest.Builder SetBindMobile(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasBindMobile = true;
				this.result.bindMobile_ = value;
				return this;
			}
			public RegRequest.Builder SetBindMobile(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasBindMobile = true;
				this.result.bindMobile_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeBindMobile(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasBindMobile && this.result.bindMobile_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.bindMobile_ = SKBuiltinString_t.CreateBuilder(this.result.bindMobile_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.bindMobile_ = value;
				}
				this.result.hasBindMobile = true;
				return this;
			}
			public RegRequest.Builder ClearBindMobile()
			{
				this.PrepareBuilder();
				this.result.hasBindMobile = false;
				this.result.bindMobile_ = null;
				return this;
			}
			public RegRequest.Builder SetImgSid(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgSid = true;
				this.result.imgSid_ = value;
				return this;
			}
			public RegRequest.Builder SetImgSid(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgSid = true;
				this.result.imgSid_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeImgSid(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgSid && this.result.imgSid_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.imgSid_ = SKBuiltinString_t.CreateBuilder(this.result.imgSid_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgSid_ = value;
				}
				this.result.hasImgSid = true;
				return this;
			}
			public RegRequest.Builder ClearImgSid()
			{
				this.PrepareBuilder();
				this.result.hasImgSid = false;
				this.result.imgSid_ = null;
				return this;
			}
			public RegRequest.Builder SetImgCode(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasImgCode = true;
				this.result.imgCode_ = value;
				return this;
			}
			public RegRequest.Builder SetImgCode(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasImgCode = true;
				this.result.imgCode_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeImgCode(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasImgCode && this.result.imgCode_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.imgCode_ = SKBuiltinString_t.CreateBuilder(this.result.imgCode_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.imgCode_ = value;
				}
				this.result.hasImgCode = true;
				return this;
			}
			public RegRequest.Builder ClearImgCode()
			{
				this.PrepareBuilder();
				this.result.hasImgCode = false;
				this.result.imgCode_ = null;
				return this;
			}
			public RegRequest.Builder SetTicket(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasTicket = true;
				this.result.ticket_ = value;
				return this;
			}
			public RegRequest.Builder SetTicket(SKBuiltinString_t.Builder builderForValue)
			{
				ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");
				this.PrepareBuilder();
				this.result.hasTicket = true;
				this.result.ticket_ = builderForValue.Build();
				return this;
			}
			public RegRequest.Builder MergeTicket(SKBuiltinString_t value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				if (this.result.hasTicket && this.result.ticket_ != SKBuiltinString_t.DefaultInstance)
				{
					this.result.ticket_ = SKBuiltinString_t.CreateBuilder(this.result.ticket_).MergeFrom(value).BuildPartial();
				}
				else
				{
					this.result.ticket_ = value;
				}
				this.result.hasTicket = true;
				return this;
			}
			public RegRequest.Builder ClearTicket()
			{
				this.PrepareBuilder();
				this.result.hasTicket = false;
				this.result.ticket_ = null;
				return this;
			}
			public RegRequest.Builder SetPwd2(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasPwd2 = true;
				this.result.pwd2_ = value;
				return this;
			}
			public RegRequest.Builder ClearPwd2()
			{
				this.PrepareBuilder();
				this.result.hasPwd2 = false;
				this.result.pwd2_ = "";
				return this;
			}
			public RegRequest.Builder SetBuiltinIPSeq(uint value)
			{
				this.PrepareBuilder();
				this.result.hasBuiltinIPSeq = true;
				this.result.builtinIPSeq_ = value;
				return this;
			}
			public RegRequest.Builder ClearBuiltinIPSeq()
			{
				this.PrepareBuilder();
				this.result.hasBuiltinIPSeq = false;
				this.result.builtinIPSeq_ = 0u;
				return this;
			}
			public RegRequest.Builder SetDLSrc(uint value)
			{
				this.PrepareBuilder();
				this.result.hasDLSrc = true;
				this.result.dLSrc_ = value;
				return this;
			}
			public RegRequest.Builder ClearDLSrc()
			{
				this.PrepareBuilder();
				this.result.hasDLSrc = false;
				this.result.dLSrc_ = 0u;
				return this;
			}
			public RegRequest.Builder SetTimeZone(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasTimeZone = true;
				this.result.timeZone_ = value;
				return this;
			}
			public RegRequest.Builder ClearTimeZone()
			{
				this.PrepareBuilder();
				this.result.hasTimeZone = false;
				this.result.timeZone_ = "";
				return this;
			}
			public RegRequest.Builder SetLanguage(string value)
			{
				ThrowHelper.ThrowIfNull(value, "value");
				this.PrepareBuilder();
				this.result.hasLanguage = true;
				this.result.language_ = value;
				return this;
			}
			public RegRequest.Builder ClearLanguage()
			{
				this.PrepareBuilder();
				this.result.hasLanguage = false;
				this.result.language_ = "";
				return this;
			}
		}
		public const int BaseRequestFieldNumber = 1;
		public const int UserNameFieldNumber = 2;
		public const int PwdFieldNumber = 3;
		public const int NickNameFieldNumber = 4;
		public const int BindUinFieldNumber = 5;
		public const int BindEmailFieldNumber = 6;
		public const int BindMobileFieldNumber = 7;
		public const int ImgSidFieldNumber = 8;
		public const int ImgCodeFieldNumber = 9;
		public const int TicketFieldNumber = 10;
		public const int Pwd2FieldNumber = 11;
		public const int BuiltinIPSeqFieldNumber = 12;
		public const int DLSrcFieldNumber = 13;
		public const int TimeZoneFieldNumber = 14;
		public const int LanguageFieldNumber = 15;
		private static readonly RegRequest defaultInstance;
		private static readonly string[] _regRequestFieldNames;
		private static readonly uint[] _regRequestFieldTags;
		private bool hasBaseRequest;
		private BaseRequest baseRequest_;
		private bool hasUserName;
		private SKBuiltinString_t userName_;
		private bool hasPwd;
		private SKBuiltinString_t pwd_;
		private bool hasNickName;
		private SKBuiltinString_t nickName_;
		private bool hasBindUin;
		private uint bindUin_;
		private bool hasBindEmail;
		private SKBuiltinString_t bindEmail_;
		private bool hasBindMobile;
		private SKBuiltinString_t bindMobile_;
		private bool hasImgSid;
		private SKBuiltinString_t imgSid_;
		private bool hasImgCode;
		private SKBuiltinString_t imgCode_;
		private bool hasTicket;
		private SKBuiltinString_t ticket_;
		private bool hasPwd2;
		private string pwd2_ = "";
		private bool hasBuiltinIPSeq;
		private uint builtinIPSeq_;
		private bool hasDLSrc;
		private uint dLSrc_;
		private bool hasTimeZone;
		private string timeZone_ = "";
		private bool hasLanguage;
		private string language_ = "";
		private int memoizedSerializedSize = -1;
		public static RegRequest DefaultInstance
		{
			get
			{
				return RegRequest.defaultInstance;
			}
		}
		public override RegRequest DefaultInstanceForType
		{
			get
			{
				return RegRequest.DefaultInstance;
			}
		}
		protected override RegRequest ThisMessage
		{
			get
			{
				return this;
			}
		}
		public BaseRequest BaseRequest
		{
			get
			{
				return this.baseRequest_ ?? BaseRequest.DefaultInstance;
			}
		}
		public SKBuiltinString_t UserName
		{
			get
			{
				return this.userName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t Pwd
		{
			get
			{
				return this.pwd_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t NickName
		{
			get
			{
				return this.nickName_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public uint BindUin
		{
			get
			{
				return this.bindUin_;
			}
		}
		public SKBuiltinString_t BindEmail
		{
			get
			{
				return this.bindEmail_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t BindMobile
		{
			get
			{
				return this.bindMobile_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t ImgSid
		{
			get
			{
				return this.imgSid_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t ImgCode
		{
			get
			{
				return this.imgCode_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public SKBuiltinString_t Ticket
		{
			get
			{
				return this.ticket_ ?? SKBuiltinString_t.DefaultInstance;
			}
		}
		public string Pwd2
		{
			get
			{
				return this.pwd2_;
			}
		}
		public uint BuiltinIPSeq
		{
			get
			{
				return this.builtinIPSeq_;
			}
		}
		public uint DLSrc
		{
			get
			{
				return this.dLSrc_;
			}
		}
		public string TimeZone
		{
			get
			{
				return this.timeZone_;
			}
		}
		public string Language
		{
			get
			{
				return this.language_;
			}
		}
		public override bool IsInitialized
		{
			get
			{
				return this.hasBaseRequest && this.hasUserName && this.hasPwd && this.hasNickName && this.hasBindUin && this.hasBindEmail && this.hasBindMobile && this.hasImgSid && this.hasImgCode && this.hasTicket && this.BaseRequest.IsInitialized;
			}
		}
		public override int SerializedSize
		{
			get
			{
				int num = this.memoizedSerializedSize;
				if (num != -1)
				{
					return num;
				}
				num = 0;
				if (this.hasBaseRequest)
				{
					num += CodedOutputStream.ComputeMessageSize(1, this.BaseRequest);
				}
				if (this.hasUserName)
				{
					num += CodedOutputStream.ComputeMessageSize(2, this.UserName);
				}
				if (this.hasPwd)
				{
					num += CodedOutputStream.ComputeMessageSize(3, this.Pwd);
				}
				if (this.hasNickName)
				{
					num += CodedOutputStream.ComputeMessageSize(4, this.NickName);
				}
				if (this.hasBindUin)
				{
					num += CodedOutputStream.ComputeUInt32Size(5, this.BindUin);
				}
				if (this.hasBindEmail)
				{
					num += CodedOutputStream.ComputeMessageSize(6, this.BindEmail);
				}
				if (this.hasBindMobile)
				{
					num += CodedOutputStream.ComputeMessageSize(7, this.BindMobile);
				}
				if (this.hasImgSid)
				{
					num += CodedOutputStream.ComputeMessageSize(8, this.ImgSid);
				}
				if (this.hasImgCode)
				{
					num += CodedOutputStream.ComputeMessageSize(9, this.ImgCode);
				}
				if (this.hasTicket)
				{
					num += CodedOutputStream.ComputeMessageSize(10, this.Ticket);
				}
				if (this.hasPwd2)
				{
					num += CodedOutputStream.ComputeStringSize(11, this.Pwd2);
				}
				if (this.hasBuiltinIPSeq)
				{
					num += CodedOutputStream.ComputeUInt32Size(12, this.BuiltinIPSeq);
				}
				if (this.hasDLSrc)
				{
					num += CodedOutputStream.ComputeUInt32Size(13, this.DLSrc);
				}
				if (this.hasTimeZone)
				{
					num += CodedOutputStream.ComputeStringSize(14, this.TimeZone);
				}
				if (this.hasLanguage)
				{
					num += CodedOutputStream.ComputeStringSize(15, this.Language);
				}
				this.memoizedSerializedSize = num;
				return num;
			}
		}
		private RegRequest()
		{
		}
		public override void WriteTo(ICodedOutputStream output)
		{
			int arg_06_0 = this.SerializedSize;
			string[] regRequestFieldNames = RegRequest._regRequestFieldNames;
			if (this.hasBaseRequest)
			{
				output.WriteMessage(1, regRequestFieldNames[0], this.BaseRequest);
			}
			if (this.hasUserName)
			{
				output.WriteMessage(2, regRequestFieldNames[14], this.UserName);
			}
			if (this.hasPwd)
			{
				output.WriteMessage(3, regRequestFieldNames[10], this.Pwd);
			}
			if (this.hasNickName)
			{
				output.WriteMessage(4, regRequestFieldNames[9], this.NickName);
			}
			if (this.hasBindUin)
			{
				output.WriteUInt32(5, regRequestFieldNames[3], this.BindUin);
			}
			if (this.hasBindEmail)
			{
				output.WriteMessage(6, regRequestFieldNames[1], this.BindEmail);
			}
			if (this.hasBindMobile)
			{
				output.WriteMessage(7, regRequestFieldNames[2], this.BindMobile);
			}
			if (this.hasImgSid)
			{
				output.WriteMessage(8, regRequestFieldNames[7], this.ImgSid);
			}
			if (this.hasImgCode)
			{
				output.WriteMessage(9, regRequestFieldNames[6], this.ImgCode);
			}
			if (this.hasTicket)
			{
				output.WriteMessage(10, regRequestFieldNames[12], this.Ticket);
			}
			if (this.hasPwd2)
			{
				output.WriteString(11, regRequestFieldNames[11], this.Pwd2);
			}
			if (this.hasBuiltinIPSeq)
			{
				output.WriteUInt32(12, regRequestFieldNames[4], this.BuiltinIPSeq);
			}
			if (this.hasDLSrc)
			{
				output.WriteUInt32(13, regRequestFieldNames[5], this.DLSrc);
			}
			if (this.hasTimeZone)
			{
				output.WriteString(14, regRequestFieldNames[13], this.TimeZone);
			}
			if (this.hasLanguage)
			{
				output.WriteString(15, regRequestFieldNames[8], this.Language);
			}
		}
		public override int GetHashCode()
		{
			int num = base.GetType().GetHashCode();
			if (this.hasBaseRequest)
			{
				num ^= this.baseRequest_.GetHashCode();
			}
			if (this.hasUserName)
			{
				num ^= this.userName_.GetHashCode();
			}
			if (this.hasPwd)
			{
				num ^= this.pwd_.GetHashCode();
			}
			if (this.hasNickName)
			{
				num ^= this.nickName_.GetHashCode();
			}
			if (this.hasBindUin)
			{
				num ^= this.bindUin_.GetHashCode();
			}
			if (this.hasBindEmail)
			{
				num ^= this.bindEmail_.GetHashCode();
			}
			if (this.hasBindMobile)
			{
				num ^= this.bindMobile_.GetHashCode();
			}
			if (this.hasImgSid)
			{
				num ^= this.imgSid_.GetHashCode();
			}
			if (this.hasImgCode)
			{
				num ^= this.imgCode_.GetHashCode();
			}
			if (this.hasTicket)
			{
				num ^= this.ticket_.GetHashCode();
			}
			if (this.hasPwd2)
			{
				num ^= this.pwd2_.GetHashCode();
			}
			if (this.hasBuiltinIPSeq)
			{
				num ^= this.builtinIPSeq_.GetHashCode();
			}
			if (this.hasDLSrc)
			{
				num ^= this.dLSrc_.GetHashCode();
			}
			if (this.hasTimeZone)
			{
				num ^= this.timeZone_.GetHashCode();
			}
			if (this.hasLanguage)
			{
				num ^= this.language_.GetHashCode();
			}
			return num;
		}
		public override bool Equals(object value)
		{
			RegRequest regRequest = value as RegRequest;
			return regRequest != null && (this.hasBaseRequest == regRequest.hasBaseRequest && (!this.hasBaseRequest || this.baseRequest_.Equals(regRequest.baseRequest_))) && (this.hasUserName == regRequest.hasUserName && (!this.hasUserName || this.userName_.Equals(regRequest.userName_))) && (this.hasPwd == regRequest.hasPwd && (!this.hasPwd || this.pwd_.Equals(regRequest.pwd_))) && (this.hasNickName == regRequest.hasNickName && (!this.hasNickName || this.nickName_.Equals(regRequest.nickName_))) && (this.hasBindUin == regRequest.hasBindUin && (!this.hasBindUin || this.bindUin_.Equals(regRequest.bindUin_))) && (this.hasBindEmail == regRequest.hasBindEmail && (!this.hasBindEmail || this.bindEmail_.Equals(regRequest.bindEmail_))) && (this.hasBindMobile == regRequest.hasBindMobile && (!this.hasBindMobile || this.bindMobile_.Equals(regRequest.bindMobile_))) && (this.hasImgSid == regRequest.hasImgSid && (!this.hasImgSid || this.imgSid_.Equals(regRequest.imgSid_))) && (this.hasImgCode == regRequest.hasImgCode && (!this.hasImgCode || this.imgCode_.Equals(regRequest.imgCode_))) && (this.hasTicket == regRequest.hasTicket && (!this.hasTicket || this.ticket_.Equals(regRequest.ticket_))) && (this.hasPwd2 == regRequest.hasPwd2 && (!this.hasPwd2 || this.pwd2_.Equals(regRequest.pwd2_))) && (this.hasBuiltinIPSeq == regRequest.hasBuiltinIPSeq && (!this.hasBuiltinIPSeq || this.builtinIPSeq_.Equals(regRequest.builtinIPSeq_))) && (this.hasDLSrc == regRequest.hasDLSrc && (!this.hasDLSrc || this.dLSrc_.Equals(regRequest.dLSrc_))) && (this.hasTimeZone == regRequest.hasTimeZone && (!this.hasTimeZone || this.timeZone_.Equals(regRequest.timeZone_))) && (this.hasLanguage == regRequest.hasLanguage && (!this.hasLanguage || this.language_.Equals(regRequest.language_)));
		}
		public override void PrintTo(TextWriter writer)
		{
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("BaseRequest", this.hasBaseRequest, this.baseRequest_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("UserName", this.hasUserName, this.userName_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("Pwd", this.hasPwd, this.pwd_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("NickName", this.hasNickName, this.nickName_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("BindUin", this.hasBindUin, this.bindUin_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("BindEmail", this.hasBindEmail, this.bindEmail_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("BindMobile", this.hasBindMobile, this.bindMobile_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("ImgSid", this.hasImgSid, this.imgSid_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("ImgCode", this.hasImgCode, this.imgCode_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("Ticket", this.hasTicket, this.ticket_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("Pwd2", this.hasPwd2, this.pwd2_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("BuiltinIPSeq", this.hasBuiltinIPSeq, this.builtinIPSeq_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("DLSrc", this.hasDLSrc, this.dLSrc_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("TimeZone", this.hasTimeZone, this.timeZone_, writer);
			GeneratedMessageLite<RegRequest, RegRequest.Builder>.PrintField("Language", this.hasLanguage, this.language_, writer);
		}
		public static RegRequest ParseFrom(byte[] data)
		{
			return RegRequest.CreateBuilder().MergeFrom(data).BuildParsed();
		}
		private RegRequest MakeReadOnly()
		{
			return this;
		}
		public static RegRequest.Builder CreateBuilder()
		{
			return new RegRequest.Builder();
		}
		public override RegRequest.Builder ToBuilder()
		{
			return RegRequest.CreateBuilder(this);
		}
		public override RegRequest.Builder CreateBuilderForType()
		{
			return new RegRequest.Builder();
		}
		public static RegRequest.Builder CreateBuilder(RegRequest prototype)
		{
			return new RegRequest.Builder(prototype);
		}
		static RegRequest()
		{
			RegRequest.defaultInstance = new RegRequest().MakeReadOnly();
			RegRequest._regRequestFieldNames = new string[]
			{
				"BaseRequest",
				"BindEmail",
				"BindMobile",
				"BindUin",
				"BuiltinIPSeq",
				"DLSrc",
				"ImgCode",
				"ImgSid",
				"Language",
				"NickName",
				"Pwd",
				"Pwd2",
				"Ticket",
				"TimeZone",
				"UserName"
			};
			RegRequest._regRequestFieldTags = new uint[]
			{
				10u,
				50u,
				58u,
				40u,
				96u,
				104u,
				74u,
				66u,
				122u,
				34u,
				26u,
				90u,
				82u,
				114u,
				18u
			};
			object.ReferenceEquals(micromsg.Proto.RegRequest.Descriptor, null);
		}
	}
}
